]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
windowManager: Support coords
authorJasper St. Pierre <jstpierre@mecheye.net>
Thu, 22 May 2014 14:22:11 +0000 (10:22 -0400)
committerJasper St. Pierre <jstpierre@mecheye.net>
Thu, 22 May 2014 14:51:49 +0000 (10:51 -0400)
js/ui/windowManager.js
js/ui/windowMenu.js
src/gnome-shell-plugin.c
src/shell-wm-private.h
src/shell-wm.c

index 0acf4f609dab512efe61348204cf2ff3574ecda9..8121dc0be43f7379f1dd95819aaea4b9a3e84177 100644 (file)
@@ -1163,8 +1163,8 @@ const WindowManager = new Lang.Class({
         this._tilePreview.hide();
     },
 
-    _showWindowMenu: function(shellwm, window) {
-        this._windowMenuManager.showForWindow(window);
+    _showWindowMenu: function(shellwm, window, x, y) {
+        this._windowMenuManager.showForWindow(window, x, y);
     },
 
     _startAppSwitcher : function(display, screen, window, binding) {
index 772479b9e3eee6e3c8a3eef170fb147cd95ae578..3dc85c6633af634bf8b2c2aa87fab48e925e899c 100644 (file)
@@ -129,11 +129,10 @@ const WindowMenuManager = new Lang.Class({
         this._manager = new PopupMenu.PopupMenuManager({ actor: Main.layoutManager.dummyCursor });
     },
 
-    showForWindow: function(window) {
+    showForWindow: function(window, x, y) {
         let menu = new WindowMenu(window);
         this._manager.addMenu(menu);
 
-        let [x, y] = global.get_pointer();
         Main.layoutManager.setDummyCursorGeometry(x, y, 0, 0);
         menu.open(BoxPointer.PopupAnimation.NONE);
         menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
index 75a3bddf0e885760f5c148f3bf72895cf3d9cf81..618a0682b738f45a696c768178f65e91256a3079 100644 (file)
@@ -74,7 +74,9 @@ static void gnome_shell_plugin_show_tile_preview (MetaPlugin      *plugin,
                                                   int              tile_monitor);
 static void gnome_shell_plugin_hide_tile_preview (MetaPlugin *plugin);
 static void gnome_shell_plugin_show_window_menu  (MetaPlugin *plugin,
-                                                  MetaWindow *window);
+                                                  MetaWindow *window,
+                                                  int         x,
+                                                  int         y);
 
 static gboolean              gnome_shell_plugin_xevent_filter (MetaPlugin *plugin,
                                                                XEvent     *event);
@@ -307,9 +309,11 @@ gnome_shell_plugin_hide_tile_preview (MetaPlugin *plugin)
 
 static void
 gnome_shell_plugin_show_window_menu (MetaPlugin *plugin,
-                                     MetaWindow *window)
+                                     MetaWindow *window,
+                                     int         x,
+                                     int         y)
 {
-  _shell_wm_show_window_menu (get_shell_wm (), window);
+  _shell_wm_show_window_menu (get_shell_wm (), window, x, y);
 }
 
 static gboolean
index 35cbcb0f7d8cc3cae892ef433e70583c5ce3e716..d5c02e5cc1ec0cd70abc8aa33987a4248cdb5359 100644 (file)
@@ -41,7 +41,9 @@ void _shell_wm_show_tile_preview     (ShellWM             *wm,
                                       int                  tile_monitor);
 void _shell_wm_hide_tile_preview     (ShellWM             *wm);
 void _shell_wm_show_window_menu      (ShellWM             *wm,
-                                      MetaWindow          *window);
+                                      MetaWindow          *window,
+                                      int                  x,
+                                      int                  y);
 
 gboolean _shell_wm_filter_keybinding (ShellWM             *wm,
                                       MetaKeyBinding      *binding);
index 0d51606d771e2fab5a4d8c675324fdb644ec21ca..50ecb7e7a4466cb29e6d8b9273d3ee7ec6045d31 100644 (file)
@@ -141,8 +141,8 @@ shell_wm_class_init (ShellWMClass *klass)
                   G_TYPE_FROM_CLASS (klass),
                   G_SIGNAL_RUN_LAST,
                   0, NULL, NULL, NULL,
-                  G_TYPE_NONE, 1,
-                  META_TYPE_WINDOW);
+                  G_TYPE_NONE, 3,
+                  META_TYPE_WINDOW, G_TYPE_INT, G_TYPE_INT);
   shell_wm_signals[FILTER_KEYBINDING] =
     g_signal_new ("filter-keybinding",
                   G_TYPE_FROM_CLASS (klass),
@@ -298,9 +298,11 @@ _shell_wm_hide_tile_preview (ShellWM *wm)
 
 void
 _shell_wm_show_window_menu (ShellWM    *wm,
-                            MetaWindow *window)
+                            MetaWindow *window,
+                            int         x,
+                            int         y)
 {
-  g_signal_emit (wm, shell_wm_signals[SHOW_WINDOW_MENU], 0, window);
+  g_signal_emit (wm, shell_wm_signals[SHOW_WINDOW_MENU], 0, window, x, y);
 }
 
 void